package cn.nawang.ebeim.client.version;

import java.io.Serializable;
import java.util.List;

public interface Node extends Serializable {

    //初始状态
    byte STATUS_NOOP = 0;
    //不变
    byte STATUS_NO_CHANGE = 1;
    //有变动
    byte STATUS_CHANGE = 2;
    //新增
    byte STATUS_ADD = 3;
    //删除
    byte STATUS_DELETED = 4;

    void setId(long id);

    void setPId(long pid);

    void setPath(String path);

    void setParent(Node node);

    byte getStatus();

    void setStatus(byte status);

    void refresh();

    boolean filterChanges(List<Node> list);

    long getId();

    long getPId();

    void setDsId(String dsId);

    String getDsId();

    String getName();

    Node getParent();

    VersionTreeInfo versionTreeInfo(VersionTreeInfo versionTreeInfo);

}
